<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://api.terminology.microsoft.com/terminology" elementFormDefault="qualified" targetNamespace="http://api.terminology.microsoft.com/terminology" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://api.terminology.microsoft.com/Terminology.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Core" />
  <xs:import schemaLocation="http://api.terminology.microsoft.com/Terminology.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Entities" />
  <xs:element name="GetTranslations">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="text" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Core" minOccurs="0" name="sensitivity" type="q1:SearchStringComparison" />
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Core" minOccurs="0" name="searchOperator" type="q2:SearchOperator" />
        <xs:element minOccurs="0" name="sources" nillable="true" type="tns:TranslationSources" />
        <xs:element minOccurs="0" name="unique" nillable="true" type="xs:boolean" />
        <xs:element minOccurs="0" name="maxTranslations" type="xs:int" />
        <xs:element minOccurs="0" name="includeDefinitions" type="xs:boolean" />
        <xs:element minOccurs="0" name="products" nillable="true" type="tns:Products" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TranslationSources">
    <xs:sequence>
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Entities" minOccurs="0" maxOccurs="unbounded" name="TranslationSource" type="q3:TranslationSource" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TranslationSources" nillable="true" type="tns:TranslationSources" />
  <xs:complexType name="Products">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Products" nillable="true" type="tns:Products" />
  <xs:complexType name="Product">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:EntityBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Id" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Versions" nillable="true" type="tns:Versions" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="EntityBase">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="EntityBase" nillable="true" type="tns:EntityBase" />
  <xs:complexType name="Versions">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Version" nillable="true" type="tns:Version" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Versions" nillable="true" type="tns:Versions" />
  <xs:complexType name="Version">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:EntityBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Id" type="xs:int" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Version" nillable="true" type="tns:Version" />
  <xs:element name="GetTranslationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTranslationsResult" nillable="true" type="tns:Matches" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Matches">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Match" nillable="true" type="tns:Match" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Matches" nillable="true" type="tns:Matches" />
  <xs:complexType name="Match">
    <xs:sequence>
      <xs:element minOccurs="0" name="ConfidenceLevel" type="xs:int" />
      <xs:element minOccurs="0" name="Count" type="xs:int" />
      <xs:element minOccurs="0" name="Definition" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OriginalText" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Product" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductVersion" nillable="true" type="xs:string" />
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/Microsoft.Terminology.WebService.Index.Entities" minOccurs="0" name="Source" nillable="true" type="q4:TranslationSource" />
      <xs:element minOccurs="0" name="Translations" nillable="true" type="tns:Translations" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Match" nillable="true" type="tns:Match" />
  <xs:complexType name="Translations">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Translation" nillable="true" type="tns:Translation" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Translations" nillable="true" type="tns:Translations" />
  <xs:complexType name="Translation">
    <xs:sequence>
      <xs:element minOccurs="0" name="Language" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TranslatedText" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Translation" nillable="true" type="tns:Translation" />
  <xs:complexType name="Unexpected">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseFault">
        <xs:sequence>
          <xs:element minOccurs="0" name="ErrorCode" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Unexpected" nillable="true" type="tns:Unexpected" />
  <xs:complexType name="BaseFault">
    <xs:sequence>
      <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BaseFault" nillable="true" type="tns:BaseFault" />
  <xs:complexType name="MissingParameter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseFault">
        <xs:sequence>
          <xs:element minOccurs="0" name="ParameterName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="MissingParameter" nillable="true" type="tns:MissingParameter" />
  <xs:complexType name="InvalidParameters">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseFault">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="InvalidParameters" nillable="true" type="tns:InvalidParameters" />
  <xs:element name="GetLanguages">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLanguagesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetLanguagesResult" nillable="true" type="tns:Languages" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Languages">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Language" nillable="true" type="tns:Language" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Languages" nillable="true" type="tns:Languages" />
  <xs:complexType name="Language">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:EntityBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Language" nillable="true" type="tns:Language" />
  <xs:element name="GetProducts">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetProductsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetProductsResult" nillable="true" type="tns:Products" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCapability">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCapabilityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetCapabilityResult" nillable="true" type="tns:Capability" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Capability">
    <xs:sequence>
      <xs:element minOccurs="0" name="SupportsAnyToAny" type="xs:boolean" />
      <xs:element minOccurs="0" name="SupportsAnyToEnUs" type="xs:boolean" />
      <xs:element minOccurs="0" name="SupportsEnUsToAny" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Capability" nillable="true" type="tns:Capability" />
</xs:schema>